package com.sdhs.examinemanage.domain;

import java.math.BigDecimal;
import java.util.List;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import com.sdhs.common.annotation.Excel;
import com.sdhs.common.core.domain.BaseEntity;

import lombok.Data;

/**
 * 供应商考核对象 gc_examine_supplier
 * 
 * @author wanglei
 * @date 2025-04-01
 */
@Data
public class GcExamineSupplier extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 关联项目id */
    @Excel(name = "关联项目id")
    private Long projectId;

    /** 供应商id */
    @Excel(name = "供应商id")
    private String supplierId;

    /** 供应商名称 */
    @Excel(name = "供应商名称")
    private String supplierName;

    /** 考核年度 */
    @Excel(name = "考核年度")
    private String assessmentYear;

    /** 经办人 */
    @Excel(name = "经办人")
    private String handledBy;

    /** 机电设备名称及品牌 */
    @Excel(name = "机电设备名称及品牌")
    private String equipmentName;

    /** 是否设备生产商 */
    @Excel(name = "是否设备生产商")
    private String equipmentManufacturer;

    /** 评价部室（单位） */
    @Excel(name = "评价部室", readConverterExp = "单=位")
    private String evaluationDepartment;

    /** 总得分 */
    @Excel(name = "总得分")
    private BigDecimal totalScore;

    /** 本次考核评价 */
    @Excel(name = "本次考核评价")
    private String assessmentEvaluation;

    /** 创建人 */
    @Excel(name = "创建人")
    private String creater;

    /** 修改人 */
    @Excel(name = "修改人")
    private String updater;

    /** 是否删除，删除标记（0正常 1删除） */
    @Excel(name = "是否删除，删除标记", readConverterExp = "0=正常,1=删除")
    private String isDelete;

    /** 版本号 */
    @Excel(name = "版本号")
    private Integer version;
    
    /** 供应商类型 */
    @Excel(name = "供应商类型")
    private String supplierType;
    
    /** 项目编号 */
    @Excel(name = "项目编号")
    private String projectNumber;
    
    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;
    
    private List<GcExamineSupplierScore> scoreList;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("projectId", getProjectId())
            .append("supplierId", getSupplierId())
            .append("supplierName", getSupplierName())
            .append("assessmentYear", getAssessmentYear())
            .append("handledBy", getHandledBy())
            .append("equipmentName", getEquipmentName())
            .append("equipmentManufacturer", getEquipmentManufacturer())
            .append("evaluationDepartment", getEvaluationDepartment())
            .append("totalScore", getTotalScore())
            .append("assessmentEvaluation", getAssessmentEvaluation())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("creater", getCreater())
            .append("updater", getUpdater())
            .append("isDelete", getIsDelete())
            .append("version", getVersion())
            .toString();
    }
}
